Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра «ЕОМ»
Лабораторна робота №1
з предмету “Архітектура комп’ютерів”
на тему:
«Робота з симулятором машини Ноймана. Дослідження виконання машинного коду в автоматичному режимі»
Мета: опанувати роботу на симуляторі машини Ноймана, зрозуміти і дослідити принцип виконання програми машиною Ноймана.
Завдання: запустити симулятор, написати тестову програму, завантажити програму в симулятор, виконати її в покроковому і автоматичному режимах; виконати програму з використанням точок зупинки; отримати таблицю змінних; скласти звіт з виконання лабораторних досліджень та захистити його.
Теоретичні відомості
CISC – complex instruction set computing (обчислення зі складною системою машинних інструкцій)
Аби дослідити дію машини Ноймана використовують симулятори цієї машини, що, в свою чергу, є готовими до використання комп’ютерними програмами. При роботі з такою програмою складається враження роботи з комп’ютером першої генерації, що приймає дані і подає результати і двійковій (бінарній) системі числення, має обмежений обсяг пам’яті, обмежене число регістрів і відсутню операційну систему. Коли в комп’ютері (в нас – в симуляторі комп’ютера) ОС нема, тоді кожну програму треба завершувати виконанням машинної інструкції СТОП. В автоматичному режимі одним натиском на клавішу комп’ютер змушують виконати уведену до нього програму - повністю, від першої до останньої машинної інструкції програми. Розглянемо конкретний симулятор машини Ноймана, якому автор надав назву «Кроха».
«Кроха» є DOS програмою, яку запускають у вікні DOS. Отже, миша з симулятором не працює так само, як і в ті давні часи, коли реалізували машину Ноймана. Треба користуватися курсором (рискою підкреслення) і клавішами пересування курсора. Але курсор діє лише у вікні пам’яті. Залишаються можливості керування симулятором натисканням вибраних клавіш апаратури. Таке керування є примітивним але таким, що дозволяє правдиво і чітко зрозуміти, як працює комп’ютер Ноймана, як з ним колись працювали, а також які в нього є принципові недоліки. Наступний рисунок 1 містить копію вікна симулятора Кроха. Симулятор є DOS програмою, що викликається в режимі командного рядка.
/
Рис. 1.1 – Вікно навчального комп’ютера «Кроха-М»
Зліва розташоване вікно пам’яті. Тут позначені адреси в бінарному коді, від 00002 до 11112 (всього 16 комірок). Вмістиме кожної комірки – це 3+4+4+4=15 бітова структура, що може бути або бінарним кодом цілого чила, або бінарним кодом машинної команди (так званої інструкції). Отже маємо не зовсім звичний 15-бітовий комп’ютер, що не підтримує парадигму байта.
Формат машинної інструкції машини Ноймана
В комп’ютері використаний наступний класичний формат 3-адресної машинної інструкції:
Поле коду операції.
Довжина 3 біти
Поле адреси 1-го операнда.
Довжина 4 біти
Поле адреси 2-го операнда.
Довжина 4 біти
Поле адреси результату.
Довжина 4 біти
КОп
А1
А2
А3
Приклад кодування інструкції (A1) + (A2) A3 :
000
0100
0101
0110
Рис. 1.2 – Формат машинної інструкції
Формат числа машини Ноймана
Симулятор використовує наступний єдиний формат даних:
Старший розряд
13 середніх розрядів бінарного коду
Молодший розряд
1 00000000001 1
Приклад кодування позитивного десяткового числа :1638410 + 310 = 1638710
Рис. 1.3 – Формат машинного числа
Негативні числа симулятор комп’ютера не опрацьовує, а всі кодові комбінації трактує як коди натуральних чисел і нуля. Максимальним є число з кодом 111 1111 1111 11112 = 3276810 -1 = 3276810, а мінімальним числом є число з бінарним кодом 000 0000 0000 00002 = тобто нуль.
Керування роботою з симулятором
Далі розглянемо вікно симулятора комп’ютера (табл. 1 ) та правила роботи з ним. Зауважимо, що симулятор запускають в командному рядку, отже, з мишою він не працює. Але є Windows симулятор цього комп’ютера, що сприймає мишу.
Табл. 1 – Управління симулятором
Клавіши к...